package com.crm.service;

import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.crm.entity.Module;
import com.crm.entity.User;


public interface UserService {
	  //自定义方法 根据用户名查找数据
    User findByUname(String userName);
    //多条件模糊查询
    Page<User> findByUser(User u, Pageable pageable,String bmName);
    //增加和修改
    User AddAndUpdate(User u);
    //删除
    Integer DelUser(String userId);
    /**
     * 修改密码-通过uname phone
     * @param uname
     * @param phone
     * @param password
     * @return
     */
    String FinPwdAndNewPwd(String uname,String phone,String password);
    /**
     * 修改锁定时间
     * @param loginName
     * @return
     */
    String Updatelockwrotime(String loginName);
    //每次登录密码错误 +一次登录失败信息
    void updateIsLockOut(String loginName);
    /**
     * 获得用户拥有的模块
     * @param id
     * @return
     */
    List<Module> getUser_Role_ModuleByUserId(String id);
    
    /**
     * 解封账号
     * @param id
     * @return
     */
    String jieFeng(String id);
    /**
     * 锁定账号
     * @param id
     * @return
     */
    String suoDing(String id);
    
    /**
     * 管理用户角色关系
     * @param id
     * @param roleId
     * @return
     */
    String user_roleManage(String id,String roleId);
    /**
     * 修改签到状态
     * @param id
     * @param checkState
     * @return
     */
    Integer updateCheckState(String id,String checkState,String userName,Integer type);
    
    /**
     * 定时重置签到状态
     * @return
     */
    Integer reSetCheckState();
}
